#ifndef UNIONSYSTEMDLL_H
#define UNIONSYSTEMDLL_H

#include <QObject>

#include "unionsystemgvl.h"

#include "uniontecsystemdll_global.h"
#include "Interface/PluginInterface/tecplugininterface.h"
#include "Interface/PluginInterface/kukateplugininterface.h"

#include "WorkThreadManage/BackTcpThreadManage.h"
#include "WorkThreadManage/BackUdpThreadManage.h"
#include "WorkThreadManage/HmiLocalThreadManage.h"
#include "WorkThreadManage/Hmiremotethreadmanage.h"

class UNIONSYSTEMDLLSHARED_EXPORT UnionTecSystemDLL : public QObject{
public:
    UnionTecSystemDLL();
    ~UnionTecSystemDLL();
private:
    HmiLocalThread*     pHmiThread;
    BackUdpThread* pBackUdpThread;
    BackTcpThread* pBackTcpThread;
    HmiRemoteThread*  pRemoteThread;

private:
    short UnionPcWorkThreadInit();
    short UnionPcWokrThreadRelease();

    short UnionMainWindowInit();
    short UnionMainWindowRelease();
    short UnionThreadTieup();

    short UnionSystemDLLStart();
    short UnionSystemQuite();

public:
    short UnionMainWindowWriteMessageBox(MessageType Type,const QString Data);
    short UnionMainWindowWriteProgressBar(int value);
    short ReadUnionMainThreadLoopTime(double& value);

    short UnionDebugWindowShow();
    short UnionAdminWindowShow();
    short UnionDebugWindowHide();
};

#endif // UNIONSYSTEMDLL_H
